1. Field of the Invention
The invention relates generally to the management of system resources, and more particularly, to a system and method for utilizing Java™ Management Extensions (JMX) as a back end to “instrument” (i.e. monitor and control) system resources within standard resource management models that are external to Java™.
2. Description of the Related Art
Today's computer systems often require complex infrastructures that include numerous resources such as software applications, hardware devices, databases, application servers, etc. which are of themselves complex and typically distributed across multiple computing environments, including Internet environments. In such complex systems it is advantageous to have monitoring capabilities to manage system resources for purposes of identifying, isolating and resolving problems at the service, transaction, application and resource levels of the system.
To promote interoperability between remote management applications which provide system monitoring etc. capabilities and the resources they manage, the Web Services Management (WS-Management) specification provides a common method for systems to access and exchange management information across an entire system infrastructure. Specifically, the WS-Management specification identifies a core set of Web service specifications and usage requirements to expose a common set of operations that are central to all systems management. These core services provide the ability to: (1) “Discover” the presence of management resources and navigate between them; (2) “Get”, “Put”, “Create”, and “Delete” individual management resources, such as settings and dynamic values; (3) “Enumerate” the contents of containers and collections, such as large tables and logs; (4) “Subscribe” to events emitted by managed resources; and (5) “Execute” specific management methods with strongly typed input and output parameters.
Additionally, the Common Information Model (CIM) is an information model that can simplify the WS-Management domain and other management domains by unifying and extending existing instrumentation and management standards using an object-oriented approach. For example, using abstraction and classification, CIM reduces the complexity of system management by defining resources (“objects”) of the management domain and grouping these “objects” into types (“classes”) by identifying the common characteristics and features (“properties”), relationships (“associations”), or behavior (“methods”) of the “objects.” To implement the WS-Management-CIM model, WS-Management defines a WS-Management-CIM resource mapping and, in particular, WS-Management defines XML (Extensible Markup Language) schema for CIM “classes.”
On the other hand, Java Management Extensions (JMX) is a technology feature included in the Java™ platform that provides a simple, standard way of managing system resources by allowing a management application the ability to monitor and modify the properties and invoke the operations associated with a managed resource. Specifically, JMX provides a standard interface for monitoring and controlling applications and for monitoring and controlling the infrastructure components (resources) associated with the applications (e.g. hardware devices, databases, application servers, etc.). In particular, insight into the health and performance of these applications and infrastructure components can be gained through the use a Java™ object called a Managed Bean (MBean) that represents a manageable resource, such as an application, a component, or a device. MBeans integrate with applications, components, or other resources to expose the properties (values) and operations associated with these applications, components, resources, etc. in a manner that allows, for example, a management application (e.g. a client) the ability to monitor and modify the properties and invoke the operations. Because JMX is dynamic, it can be used to monitor and manage resources as they are created, installed and implemented. Using JMX technology, a particular resource is “instrumented” by one or more MBean. The MBeans are registered in a core managed object server, known as an MBean server that acts as a management agent and can run on most devices enabled for the Java™ programming language. The JMX specification defines JMX agents that are used to manage resources “instrumented” in compliance with the specification. A JMX agent consists of an MBean server, in which MBeans are registered, and a set of services for handling MBeans. In this way, JMX agents directly control resources and make them available to remote management applications.
In view of the forgoing, there is a need for an approach that utilizes JMX MBeans to implement WS-Management-CIM resources in a manner that allows an exposed MBean to follow a given XML schema defined by a standard model that is external to Java™, as would be the case with the WS-Management-CIM model.